/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.menosehmais.dto;

import br.com.menosehmais.framework.converter.LocalDateTimeConverter;
import br.com.menosehmais.framework.persistence.DomainObjectDTO;
import br.com.menosehmais.model.ProdutoDO;

/**
 *
 * @author Junior JAFJ
 */
public class ProdutoDTO <DO extends ProdutoDO> extends DomainObjectDTO<DO>{

    private String id;

    private String nome;

    private Double preco;
    
    private String descricao;

    private String strClassificacaoLivre;

    private String creationDateTime;

    private String filtroNome;

    public String getFiltroNome() {
        return filtroNome;
    }

    public void setFiltroNome(String filtroNome) {
        this.filtroNome = filtroNome;
    }

    public String getCreationDateTime() {
        return creationDateTime;
    }

    public void setCreationDateTime(String creationDateTime) {
        this.creationDateTime = creationDateTime;
    }

    public String getStrClassificacaoLivre() {
        return strClassificacaoLivre;
    }

    public void setStrClassificacaoLivre(String strClassificacaoLivre) {
        this.strClassificacaoLivre = strClassificacaoLivre;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Double getPreco() {
        return preco;
    }

    public void setPreco(Double preco) {
        this.preco = preco;
    }

    public ProdutoDTO(DO produto) {
        super(produto);
        this.id = produto.getId();
        this.nome = produto.getNome();
        this.preco = produto.getPreco();
        this.descricao = produto.getDescricao();
        this.strClassificacaoLivre = produto.getStrClassificacaoLivre();
        this.creationDateTime = LocalDateTimeConverter.asString(produto.getCreationDateTime());
    }

    @Override
    public DO toDomainObject() {
        DO produto = this.domainObjectInstance();
        if (getId() != null) {
            produto.setId(getId().toString());
        }
        produto.setNome(getNome());
        produto.setPreco(getPreco());
        produto.setStrClassificacaoLivre(getStrClassificacaoLivre());
        return produto;
    }
}
